% Remember to use the lgrind style

\Head{}
\File{./java/Errors.java}{2006}{4}{27}{19:09}{808}
\L{\LB{\C{}/*}}
\L{\LB{_*_project01:_Description}}
\L{\LB{_*_Ian_Melnick_(dazed)}}
\L{\LB{_*_March_17,_2006,_2:04_PM}}
\L{\LB{_*_Course,_Prof}}
\L{\LB{_*}}
\L{\LB{_*_Errors.java}}
\L{\LB{_*}}
\L{\LB{_*_Exception/Thread_tracing_info_provided_in:}}
\L{\LB{_*_http://www.rgagnon.com/javadetails/java-0420.html}}
\L{\LB{_*/\CE{}}}
\L{\LB{}}
\L{\LB{\K{package}_\V{project01};}}
\L{\LB{}}
\L{\LB{\C{}/**}}
\L{\LB{_*}}
\L{\LB{_*_\CE{}\V{author}_\V{Ian}_\V{Melnick}}}
\L{\LB{\C{}*/\CE{}}}
\L{\LB{\K{public}_\K{class}_\V{Errors}_\{}}
\L{\LB{}\Tab{4}{}}
\index{source}\Proc{source}\L{\LB{}\Tab{4}{\K{private}_\K{static}_\V{String}_\V{source}()_\{}}
\L{\LB{}\Tab{8}{\V{StackTraceElement}_\V{method}_=_\V{Thread}.\V{currentThread}().\V{getStackTrace}()[\N{4}];}}
\L{\LB{}\Tab{8}{\V{StackTraceElement}_\V{caller}_=_\V{Thread}.\V{currentThread}().\V{getStackTrace}()[\N{5}];}}
\L{\LB{}\Tab{8}{\K{return}_\V{method}.\V{getClassName}()_+_\S{}\3.\3\SE{}}}
\L{\LB{}\Tab{16}{+_\V{method}.\V{getMethodName}()_+_\S{}\3()\3\SE{}}}
\L{\LB{}\Tab{16}{+_\S{}\3_[\3\SE{}+\V{caller}.\V{getMethodName}()_+_\S{}\3:\3\SE{}}}
\L{\LB{}\Tab{16}{+_\V{caller}.\V{getLineNumber}()+\S{}\3]\3\SE{};}}
\L{\LB{}\Tab{4}{\}}}
\L{\LB{}\Tab{4}{}}
\index{debug}\Proc{debug}\L{\LB{}\Tab{4}{\K{public}_\K{static}_\K{void}_\V{debug}(\V{Object}_\V{message})_\{}}
\L{\LB{}\Tab{8}{\V{System}.\V{out}.\V{println}(\V{source}()_+_\S{}\3_\3\SE{}_+_\V{message});}}
\L{\LB{}\Tab{4}{\}}}
\L{\LB{}\Tab{4}{}}
\L{\LB{\}}}
